package com.bbva.gptf.back.transformador;

import java.math.BigDecimal;

import org.springframework.core.convert.converter.Converter;

import com.bbva.gptf.dto.bean.InstrumentoActual;
import com.bbva.gptf.dto.bean.InstrumentoObjetivo;
import com.bbva.gptf.dto.bean.InstrumentoType;
import com.bbva.gptf.dto.bean.InstrumentosSimulacion;
import java.util.List;
import java.util.ArrayList;

/**
 * @author Javier Estrella
 * @version 1.0
 * @created 06-mar-2013 15:56:52
 */
public class InstrumentoTypeToInstrumentosSimulacionTransformador implements Converter<List<InstrumentoType>, List<InstrumentosSimulacion>> {

	public InstrumentoTypeToInstrumentosSimulacionTransformador(){

	}

	public void finalize() throws Throwable {

	}

	/**
	 * Devuelve un objeto InstrumentosSimulacion , a partir, de un  intrumento type
	 * 
	 * @param type
	 */
	@Override
	public List<InstrumentosSimulacion> convert(List<InstrumentoType> types){
		List<InstrumentosSimulacion> lista = new ArrayList<InstrumentosSimulacion>();
		for(InstrumentoType type : types){
			InstrumentosSimulacion is = new InstrumentosSimulacion();
			InstrumentoObjetivo objetivo = new InstrumentoObjetivo();
			InstrumentoActual actual = new InstrumentoActual();
			objetivo.setInstrumentoActual(actual);
//			is.setInstrumentoObjetivo(objetivo);
//			is.setId(type.getId());
//			//is.setCdContrato(type.getCdContrato());
//			is.getInstrumentoObjetivo().setCdClasificacion(type.getCdClasificacion());
//			is.setClasificacion(type.getClasificacion());
//			is.setTipoContrato(type.getTipoContrato());
//			is.setCdValorBmv(type.getCdValorBmv());
//			is.setEmisora(type.getEmisora());
//			is.setSerie(type.getSerie());
//			//type.setInstrumento(is.getCdValorBmv() + "_" + is.getEmisora() + "_" + is.getSerie());
//			is.getInstrumentoActual().setTitulos(type.getCaTitulos());
//			is.getInstrumentoActual().setPrecio(type.getCaPrecio());
//			is.getInstrumentoActual().setMonto(type.getCaMonto());
//			//type.setCaMontoTotal(BigDecimal.ZERO);
//			is.getInstrumentoActual().setLiquidez(type.getCaLiquidez());
//			//type.setCaLiquidezTotal(BigDecimal.ZERO);
//			is.getInstrumentoActual().setPcIntegracion(type.getCaPcIntegracion());
//			//type.setCaPcIntegracionTotal(BigDecimal.ZERO);
//			is.getInstrumentoActual().setDelta(type.getCaDeltaInstrumento());
//			is.getInstrumentoActual().setContribucion(type.getCaContribucionDelta());
//			//type.setCaContribucionDeltaTotal(BigDecimal.ZERO);
//			is.getInstrumentoActual().setTasa(type.getCaTasa());
//			is.getInstrumentoActual().setValuacionCartera(type.getCaValuacionCartera());
//			//type.setCaValuacionCarteraTotal(BigDecimal.ZERO);
//			is.getInstrumentoActual().setPcIntegracionBenchmark(type.getCaBenchPcIntegracion());
//			is.getInstrumentoActual().setContribucionBenchmark(type.getCaBenchContribucionDelta());
//			//type.setCaBenchContribucionDeltaTotal(BigDecimal.ZERO);
//			is.getInstrumentoActual().setPcDifIntegracion(type.getCaDiferenciaPcIntegracion());
//			is.getInstrumentoActual().setPonderacion(type.getCaSubOSobreDeltas());
//			//type.setCaSubOSobreDeltasTotal(BigDecimal.ZERO);
//			is.getInstrumentoObjetivo().setTitulos(type.getCfTitulos());
//			is.getInstrumentoObjetivo().setPrecio(type.getCfPrecio());
//			is.getInstrumentoObjetivo().setMonto(type.getCfMonto());
//			//type.setCfMontoTotal(BigDecimal.ZERO);
//			is.getInstrumentoObjetivo().setLiquidez(type.getCfLiquidez());
//			//type.setCfLiquidezTotal(BigDecimal.ZERO);
//			is.getInstrumentoObjetivo().setPcIntegracion(type.getCfPcIntegracion());
//			//type.setCfPcIntegracionTotal(BigDecimal.ZERO);
//			is.getInstrumentoObjetivo().setDelta(type.getCfDeltaInstrumento());
//			is.getInstrumentoObjetivo().setContribucion(type.getCfContribucionDelta());
//			//type.setCfContribucionDeltaTotal(BigDecimal.ZERO);
//			is.getInstrumentoObjetivo().setTasa(type.getCfTasa());
//			is.getInstrumentoObjetivo().setValuacionCartera(type.getCfValuacionCartera());
//			//type.setCfValuacionCarteraTotal(BigDecimal.ZERO);
//			is.getInstrumentoObjetivo().setPcIntegracionBenchmark(type.getCfBenchPcIntegracion());
//			is.getInstrumentoObjetivo().setContribucionBenchmark(type.getCfBenchContribucionDelta());
//			//type.setCfBenchContribucionDeltaTotal(BigDecimal.ZERO);
//			is.getInstrumentoObjetivo().setPcDifIntegracion(type.getCfDiferenciaPcIntegracion());
//			is.getInstrumentoObjetivo().setPonderacion(type.getCfSubOSobreDeltas());
//			//type.setCfSubOSobreDeltasTotal(BigDecimal.ZERO);
//			is.getInstrumentoObjetivo().setMontoOperar(type.getMontoOperar());
//			//type.setMontoOperarTotal(BigDecimal.ZERO);
//			is.getInstrumentoObjetivo().setPcIntegracionObjetivo(type.getPcIntegracionObjetivo());
//			is.getInstrumentoObjetivo().setPcDifIntegracionObjetivo(type.getPcDifIntegracionObjetivo());
//			is.getInstrumentoObjetivo().setValorNominal(type.getValorNominal());
//			is.getInstrumentoObjetivo().setTipoNominal(type.getTipoNominal());
//			is.getInstrumentoObjetivo().setImpactoMonto(type.getImpactoMonto());
//			is.getInstrumentoObjetivo().setImpactoTitulos(type.getImpactoTitulos());
//			is.getInstrumentoObjetivo().setImpactoMontoFideicomisos(type.getImpactoMontoFideicomisos());
//			is.getInstrumentoObjetivo().setImpactoMontoPatrimonial(type.getImpactoMontoPatrimonial());
//			is.getInstrumentoObjetivo().setImpactoMontoTotal(type.getImpactoMontoTotal());
//			is.setTipoNivel(type.getTipoNivel());
//			is.getInstrumentoObjetivo().setTipoOperacion(type.getTipoOperacion());
//			is.getInstrumentoObjetivo().setEfectivoHoy(type.getEfectivoHoy());
//			is.getInstrumentoObjetivo().setEfectivo24(type.getEfectivo24());
//			is.getInstrumentoObjetivo().setEfectivo48(type.getEfectivo48());
//			is.getInstrumentoObjetivo().setEfectivo72(type.getEfectivo72());
//			is.getInstrumentoObjetivo().setEfectivo96(type.getEfectivo96());
//			is.setCalcular(type.getCalcular() == 1 ? true : false);
			lista.add(is);
		}
		
		return lista;
	}

}